package com.test;


import java.util.Arrays;

//String类 static类 Arrays类 Math类
public class demo08 {
    public static void main(String[] args) {
        String s1 = "Hello";
        String s2 = "Hello1";
        String s3 = "Hello2";
        String s4 = "Hello2";
        //boolean equals(Object obj)比较字符串内容是否相等
        System.out.println(s1.equals(s2));
        //equalsIgnoreCase 比较字符串内容忽略大小写
        System.out.println(s3.equalsIgnoreCase(s4));
        System.out.println(s1.length());
        //将指定字符串连接到字符串尾部
        System.out.println(s1.concat(s2));
        //获取指定索引出的字符
        System.out.println(s1.charAt(1));
        //获取字符在字符串中第一次出现的索引
        System.out.println(s1.indexOf("H"));
        //截取字符串
        System.out.println(s1.substring(0, 2));
        System.out.println("=====================");
        //转换功能的 toCharArray()  getBytes()  replace()
        //toCharArray()将字符串转为字符数组
        //getBytes()使用平台默认的字符集将string编码转换为字节数组
        //replace(str1,str2)将于str1匹配的字符换替换为str2
        char[] ch = s1.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            System.out.println(ch[i]);
        }
        byte[] by = s1.getBytes();
        for (int i = 0; i < ch.length; i++) {
            System.out.println(by[i]);//这里输出的好像是ASCII码
        }
        //将字符串按照指定的规则分割 split(str)  切割返还的是字符串数组
        String str = "word1word2word3";
        String[] str1 = str.split("d");
        for(int i = 0;i<str1.length;i++){
            System.out.println(str1[i]);
        }
        System.out.println("======================static关键字=============");


        //关键字static 可修饰成员变量和成员方法  static 数据类型 变量名； 修饰的变量称为静态变量，也称为类变量
        //静态方法：  修饰符 static 返回值类型 方法名（参数列表）。静态方法声明中有static则可以直接用类名来调用，而不需要通过创建类的对象来调用，方式更加简单。

        //Arrays类中包含了操作数组的方法 包括排序搜索等，所有方法都是静态方法。
        int[] arr1 = {1,2,3,9,5,6};
        //数组转为字符串  静态方法不需要创建对象就能使用 类名.方法（str）
        String str4 = Arrays.toString(arr1);
        System.out.println(str4);
        //Arrays.sort(arr1)升序排序
        Arrays.sort(arr1);  //排序是void 是一个方法动作 返回值没有 直接将排序后的数组赋值给原数组
        System.out.println(Arrays.toString(arr1));
        System.out.println("=============Math类=============");
        //所有方法均为静态方法
        double d1 = Math.abs(-7);
//        返回大于等于参数的最小整数
        double d2 = Math.ceil(6.7);
//          返回最接近参数的long 相当于四舍五入
        long d3 = Math.round(8.9);
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
    }

}
